package com.cefa.finance.model;

import javax.persistence.*;
import java.util.List;

@Entity
@Table(name = "cefa_finance_vehicle")
public class Vehicle {

    private Long id;
    private String brand;
    private String dateOfProduction;
    private String vin;
    private String engineNumber;
    private String initialRegDate;

    private List<AccidentRecord> accidentRecords;
    private List<MaintenanceRecord> maintenanceRecords;
    private List<RepaymentRecord> repaymentRecords;

    private String vehicleFileAddress;
    private Long recordUser;
    private Boolean blockStatus;
    private String blockHash;
    private String blockNumber;




    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public String getDateOfProduction() {
        return dateOfProduction;
    }

    public void setDateOfProduction(String dateOfProduction) {
        this.dateOfProduction = dateOfProduction;
    }

    public String getVin() {
        return vin;
    }

    public void setVin(String vin) {
        this.vin = vin;
    }

    public String getEngineNumber() {
        return engineNumber;
    }

    public void setEngineNumber(String engineNumber) {
        this.engineNumber = engineNumber;
    }

    public String getInitialRegDate() {
        return initialRegDate;
    }

    public void setInitialRegDate(String initialRegDate) {
        this.initialRegDate = initialRegDate;
    }

    @Transient
    public List<AccidentRecord> getAccidentRecords() {
        return accidentRecords;
    }

    public void setAccidentRecords(List<AccidentRecord> accidentRecords) {
        this.accidentRecords = accidentRecords;
    }

    @Transient
    public List<MaintenanceRecord> getMaintenanceRecords() {
        return maintenanceRecords;
    }

    public void setMaintenanceRecords(List<MaintenanceRecord> maintenanceRecords) {
        this.maintenanceRecords = maintenanceRecords;
    }

    @Transient
    public List<RepaymentRecord> getRepaymentRecords() {
        return repaymentRecords;
    }

    public void setRepaymentRecords(List<RepaymentRecord> repaymentRecords) {
        this.repaymentRecords = repaymentRecords;
    }

    public String getVehicleFileAddress() {
        return vehicleFileAddress;
    }

    public void setVehicleFileAddress(String vehicleFileAddress) {
        this.vehicleFileAddress = vehicleFileAddress;
    }


    public Long getRecordUser() {
        return recordUser;
    }

    public void setRecordUser(Long recordUser) {
        this.recordUser = recordUser;
    }

    public Boolean getBlockStatus() {
        return blockStatus;
    }

    public void setBlockStatus(Boolean blockStatus) {
        this.blockStatus = blockStatus;
    }

    public String getBlockHash() {
        return blockHash;
    }

    public void setBlockHash(String blockHash) {
        this.blockHash = blockHash;
    }

    public String getBlockNumber() {
        return blockNumber;
    }

    public void setBlockNumber(String blockNumber) {
        this.blockNumber = blockNumber;
    }
}
